home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d12
/
c_lib.arc
/
UTSLMOVE.C
< prev
Wrap
Text File
|
1990-08-09
|
2KB
|
43 lines
/**
*
* Name utslmove -- Move bytes from one segment address to another
*
* Synopsis iret = utslmove(psource,ptarget,cnt);
* int iret Return value is always 0
* ADS *psource Pointer to segment,offset address of the
* memory location to move.
* ADS *ptarget Pointer to segment,offset address of the
* memory location to receive the data.
* unsigned cnt Number of bytes to move
*
* Description This function moves blocks of storage from one location
* to another, where the locations are given by segment, offset
* addresses. This allows access to the memory in the entire
* machine. The address type is a structure whose components
* are unsigned representing segment and relative addresses.
* Pointers are passed as parameters because structures cannot
* be passed. The actual move is made by calling the assembler
* routine movesl, which moves the data from "left" to "right"
* using the movsb instruction.
*
* Returns No values are returned (the functional value is always 0).
* The pointers psource and ptarget are not altered.
*
* Version 1.1 (C)Copyright Blaise Computing Inc. 1983, 1984
*
**/
int utslmove(psource,ptarget,cnt)
struct address
{
unsigned r;
unsigned s;
} *psource,*ptarget;
unsigned cnt;
{
movesl(psource->s,psource->r,ptarget->s,ptarget->r,cnt);
return(0);
}